package com.diver.flinkdemo.readervo;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @Description: 模板定义
 * @Author: zhangB
 * @Date: 2023/3/2 13:25
 */
@Data
public class TemplateDefinition {

    /**
     * 文件模板后缀
     */
    public final static String FILE_TEMPLATE_SUFFIX = ".json";

    /**
     * 业务模板
     */
    public static Map<String, TemplateDefinition> businessTemplateMap = new HashMap<>();

    /**
     *
     */
    private String omName;

    /**
     * 显示名称
     */
    private String displayName;

    /**
     * 数据库名称
     */
    private String datasourceName;

    /**
     * 表名称
     */
    private String tableName;

    /**
     * 上级对象名称
     */
    private String parentName;

    /**
     * 上级对象表格字段名称
     */
    private String parentFieldName;

    /**
     * 表id类型
     */
    private String tableIDType;

//    /**
//     * 前端表格属性
//     */
//    private JSONObject tableAttr;
//
//    /**
//     * 查询条件配置
//     */
//    private List<JSONObject> queryConfig;
//
//    /**
//     * 操作按钮
//     */
//    private List<JSONObject> operateButtons;

    /**
     * 通用列表页面相关配置
     */
    private JSONObject listPageConfig;

    /**
     * 通用表单页面相关配置
     */
    private JSONObject formPageConfig;


    /**
     * 获取业务模板
     *
     * @param businessName
     * @return
     */
    public static TemplateDefinition getTemplateDefinition(String businessName) {
        TemplateDefinition templateDefinition = TemplateDefinition.businessTemplateMap.get(businessName + TemplateDefinition.FILE_TEMPLATE_SUFFIX);
        return templateDefinition;
    }

}
